Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


meshchatx/src/frontend/components/propagation-nodes/PropagationNodesPage.vue c005017cbaf0102ba2fcfbcd2df970cf31e4452f (c005017c) Text, 20.69 KB

Tb4b4b4<Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col flex-1 overflow-hidden min-w-0 bg-gray-50 dark:bg-zinc-950"Tb4b4b4>
T8b949e<!-- search and sort -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3propagationNodesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col sm:flex-row gap-2 bg-white dark:bg-zinc-900 border-b border-gray-200 dark:border-zinc-800 px-4 py-3"
Tb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3searchTermTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"text"
Tb4b4b4:Te6edf3placeholderTff7b72=Ta5d6ff"Ta5d6ff`Ta5d6ffSearch Tffd700${Te6edf3propagationNodesTb4b4b4.Te6edf3lengthTffd700}Ta5d6ff Propagation Nodes...Ta5d6ff`Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex-1 bg-white dark:bg-zinc-900 border border-gray-200 dark:border-zinc-800 text-gray-900 dark:text-zinc-100 text-sm rounded-xl focus:ring-2 focus:ring-blue-500/50 focus:border-blue-500 px-4 py-2 shadow-sm transition-all placeholder:text-gray-400 dark:placeholder:text-zinc-500"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72select
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3sortByTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"bg-white dark:bg-zinc-900 border border-gray-200 dark:border-zinc-800 text-gray-900 dark:text-zinc-100 text-sm rounded-xl focus:ring-2 focus:ring-blue-500/50 focus:border-blue-500 px-4 py-2 shadow-sm transition-all min-w-[180px]"
Tb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"name"Tb4b4b4>Sort by NameTb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"name-desc"Tb4b4b4>Sort by Name (Z-A)Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"recent"Tb4b4b4>Sort by RecentTb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"oldest"Tb4b4b4>Sort by OldestTb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"preferred"Tb4b4b4>Preferred FirstTb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72selectTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- propagation nodes -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"h-full overflow-y-auto px-4 py-4"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3paginatedNodesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"space-y-3 w-full"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3propagationNode Tff7b72of Te6edf3paginatedNodesTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3propagationNodeTb4b4b4.Te6edf3destination_hashTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"border border-gray-200 dark:border-zinc-800 rounded-2xl bg-white dark:bg-zinc-900 shadow-sm hover:shadow-md transition-shadow overflow-hidden"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4{
Ta5d6ff'ring-2 ring-blue-500 dark:ring-blue-400'Tff7b72:
Te6edf3configTb4b4b4.Te6edf3lxmf_preferred_propagation_node_destination_hash Tff7b72===
Te6edf3propagationNodeTb4b4b4.Te6edf3destination_hashTb4b4b4,
Tb4b4b4}Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"p-4 flex items-center gap-3"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex-1 min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 mb-1"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-semibold text-gray-900 dark:text-zinc-100 truncate"Tb4b4b4>
Tff7b72{{ Te6edf3propagationNodeTb4b4b4.Te6edf3operator_display_name Tff7b72?? Ta5d6ff"Unknown Operator" Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"
Te6edf3configTb4b4b4.Te6edf3lxmf_preferred_propagation_node_destination_hash Tff7b72===
Te6edf3propagationNodeTb4b4b4.Te6edf3destination_hash
Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-1 rounded-full bg-blue-100 dark:bg-blue-900/30 px-2 py-0.5 text-xs font-semibold text-blue-700 dark:text-blue-300"
Tb4b4b4>
Tb4b4b4<Tff7b72svg
Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg"
Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 20 20"
Te6edf3fillTff7b72=Ta5d6ff"currentColor"
Te6edf3classTff7b72=Ta5d6ff"w-3 h-3"
Tb4b4b4>
Tb4b4b4<Tff7b72path
Te6edf3fill-ruleTff7b72=Ta5d6ff"evenodd"
Te6edf3dTff7b72=Ta5d6ff"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm3.857-9.809a.75.75 0 0 0-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 1 0-1.06 1.061l2.5 2.5a.75.75 0 0 0 1.137-.089l4-5.5Z"
Te6edf3clip-ruleTff7b72=Ta5d6ff"evenodd"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Preferred
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3propagationNodeTb4b4b4.Te6edf3is_propagation_enabled Tff7b72=== Tff7b72falseTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-1 rounded-full bg-red-100 dark:bg-red-900/30 px-2 py-0.5 text-xs font-semibold text-red-700 dark:text-red-300"
Tb4b4b4>
Disabled
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400 font-mono truncate"Tb4b4b4>
Te6edf3&lt;Tff7b72{{ Te6edf3propagationNodeTb4b4b4.Te6edf3destination_hash Tff7b72}}Te6edf3&gt;
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500 dark:text-zinc-500 mt-1"Tb4b4b4>
Announced Tff7b72{{ Te6edf3formatTimeAgoTb4b4b4(Te6edf3propagationNodeTb4b4b4.Te6edf3updated_atTb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex-shrink-0"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"
Te6edf3configTb4b4b4.Te6edf3lxmf_preferred_propagation_node_destination_hash Tff7b72===
Te6edf3propagationNodeTb4b4b4.Te6edf3destination_hash
Ta5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-x-1.5 rounded-xl bg-red-600 hover:bg-red-700 dark:bg-red-600 dark:hover:bg-red-700 px-4 py-2 text-sm font-semibold text-white shadow-sm transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-red-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3stopUsingPropagationNodeTa5d6ff"
Tb4b4b4>
Stop Using
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-else
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-x-1.5 rounded-xl bg-blue-600 hover:bg-blue-700 dark:bg-blue-600 dark:hover:bg-blue-700 px-4 py-2 text-sm font-semibold text-white shadow-sm transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3usePropagationNodeTb4b4b4(Te6edf3propagationNodeTb4b4b4.Te6edf3destination_hashTb4b4b4)Ta5d6ff"
Tb4b4b4>
Set as Preferred
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- pagination -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3totalPages Tff7b72> T79c0ff1Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between mt-6 pt-4 border-t border-gray-200 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400"Tb4b4b4>
Showing Tff7b72{{ Te6edf3startIndex Tff7b72+ T79c0ff1 Tff7b72}}-Tff7b72{{ Te6edf3endIndex Tff7b72}} of Tff7b72{{ Te6edf3sortedAndSearchedPropagationNodesTb4b4b4.Te6edf3length Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3currentPage Tff7b72=== T79c0ff1Ta5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-x-1.5 rounded-xl bg-white dark:bg-zinc-900 border border-gray-200 dark:border-zinc-800 hover:bg-gray-50 dark:hover:bg-zinc-800 disabled:opacity-50 disabled:cursor-not-allowed px-3 py-2 text-sm font-medium text-gray-700 dark:text-zinc-300 shadow-sm transition-colors"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3currentPage Tff7b72= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff1Tb4b4b4, Te6edf3currentPage Tff7b72- T79c0ff1Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72svg
Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg"
Te6edf3fillTff7b72=Ta5d6ff"none"
Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"
Te6edf3stroke-widthTff7b72=Ta5d6ff"1.5"
Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3classTff7b72=Ta5d6ff"w-4 h-4"
Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3stroke-linecapTff7b72=Ta5d6ff"round" Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round" Te6edf3dTff7b72=Ta5d6ff"M15.75 19.5 8.25 12l7.5-7.5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Previous
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3page Tff7b72in Te6edf3visiblePagesTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3pageTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3page Tff7b72=== Te6edf3currentPage
Tff7b72? Ta5d6ff'bg-blue-600 text-white dark:bg-blue-600'
Tff7b72: Ta5d6ff'bg-white dark:bg-zinc-900 text-gray-700 dark:text-zinc-300 hover:bg-gray-50 dark:hover:bg-zinc-800'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-10 h-10 rounded-xl border border-gray-200 dark:border-zinc-800 text-sm font-medium shadow-sm transition-colors"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3currentPage Tff7b72= Te6edf3pageTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3page Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72button
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3currentPage Tff7b72=== Te6edf3totalPagesTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-x-1.5 rounded-xl bg-white dark:bg-zinc-900 border border-gray-200 dark:border-zinc-800 hover:bg-gray-50 dark:hover:bg-zinc-800 disabled:opacity-50 disabled:cursor-not-allowed px-3 py-2 text-sm font-medium text-gray-700 dark:text-zinc-300 shadow-sm transition-colors"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3currentPage Tff7b72= Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Te6edf3totalPagesTb4b4b4, Te6edf3currentPage Tff7b72+ T79c0ff1Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Next
Tb4b4b4<Tff7b72svg
Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg"
Te6edf3fillTff7b72=Ta5d6ff"none"
Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"
Te6edf3stroke-widthTff7b72=Ta5d6ff"1.5"
Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3classTff7b72=Ta5d6ff"w-4 h-4"
Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3stroke-linecapTff7b72=Ta5d6ff"round" Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round" Te6edf3dTff7b72=Ta5d6ff"m8.25 4.5 7.5 7.5-7.5 7.5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3sortedAndSearchedPropagationNodesTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex h-full"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mx-auto my-auto text-center leading-5 text-gray-900 dark:text-gray-100"Tb4b4b4>
T8b949e<!-- no propagation nodes at all -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3propagationNodesTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex flex-col"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mx-auto mb-1"Tb4b4b4>
Tb4b4b4<Tff7b72svg
Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg"
Te6edf3fillTff7b72=Ta5d6ff"none"
Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"
Te6edf3stroke-widthTff7b72=Ta5d6ff"1.5"
Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3classTff7b72=Ta5d6ff"size-6"
Tb4b4b4>
Tb4b4b4<Tff7b72path
Te6edf3stroke-linecapTff7b72=Ta5d6ff"round"
Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round"
Te6edf3dTff7b72=Ta5d6ff"M2.25 13.5h3.86a2.25 2.25 0 0 1 2.012 1.244l.256.512a2.25 2.25 0 0 0 2.013 1.244h3.218a2.25 2.25 0 0 0 2.013-1.244l.256-.512a2.25 2.25 0 0 1 2.013-1.244h3.859m-19.5.338V18a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18v-4.162c0-.224-.034-.447-.1-.661L19.24 5.338a2.25 2.25 0 0 0-2.15-1.588H6.911a2.25 2.25 0 0 0-2.15 1.588L2.35 13.177a2.25 2.25 0 0 0-.1.661Z"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-semibold"Tb4b4b4>No Propagation NodesTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>Check back later, once someone has announced.Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mt-4"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-x-1.5 rounded-xl bg-blue-600 hover:bg-blue-700 dark:bg-blue-600 dark:hover:bg-blue-700 px-4 py-2 text-sm font-semibold text-white shadow-sm transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3loadPropagationNodesTa5d6ff"
Tb4b4b4>
Reload
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- is searching, but no results -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3searchTerm Tff7b72!== Ta5d6ff'' Tff7b72&& Te6edf3propagationNodesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex flex-col"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mx-auto mb-1"Tb4b4b4>
Tb4b4b4<Tff7b72svg
Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg"
Te6edf3fillTff7b72=Ta5d6ff"none"
Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"
Te6edf3stroke-widthTff7b72=Ta5d6ff"1.5"
Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3classTff7b72=Ta5d6ff"w-6 h-6"
Tb4b4b4>
Tb4b4b4<Tff7b72path
Te6edf3stroke-linecapTff7b72=Ta5d6ff"round"
Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round"
Te6edf3dTff7b72=Ta5d6ff"m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-semibold"Tb4b4b4>No Search ResultsTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>Your search didn't match any Propagation Nodes!Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>

Tb4b4b4<Tff7b72scriptTb4b4b4>
Tff7b72import Te6edf3Utils Tff7b72from Ta5d6ff"../../js/Utils"Tb4b4b4;
Tff7b72import Te6edf3WebSocketConnection Tff7b72from Ta5d6ff"../../js/WebSocketConnection"Tb4b4b4;
Tff7b72import Te6edf3ToastUtils Tff7b72from Ta5d6ff"../../js/ToastUtils"Tb4b4b4;

Tff7b72export Tff7b72default Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"PropagationNodesPage"Tb4b4b4,
Te6edf3dataTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4{
Te6edf3searchTermTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3sortByTff7b72: Ta5d6ff"preferred"Tb4b4b4,
Te6edf3propagationNodesTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3configTff7b72: Tb4b4b4{
Te6edf3lxmf_preferred_propagation_node_destination_hashTff7b72: Tff7b72nullTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3currentPageTff7b72: T79c0ff1Tb4b4b4,
Te6edf3itemsPerPageTff7b72: T79c0ff20Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3computedTff7b72: Tb4b4b4{
Te6edf3searchedPropagationNodesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3propagationNodesTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3propagationNodeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3search Tff7b72= Tff7b72thisTb4b4b4.Te6edf3searchTermTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3matchesOperatorDisplayName Tff7b72=
Te6edf3propagationNodeTb4b4b4.Te6edf3operator_display_nameTff7b72?Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tff7b72?Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3searchTb4b4b4) Tff7b72?? Tff7b72falseTb4b4b4;
Tff7b72const Te6edf3matchesDestinationHash Tff7b72= Te6edf3propagationNodeTb4b4b4.Te6edf3destination_hashTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3searchTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3matchesOperatorDisplayName Tff7b72|| Te6edf3matchesDestinationHashTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3sortedAndSearchedPropagationNodesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3nodes Tff7b72= Tb4b4b4[Tb4b4b4...Tff7b72thisTb4b4b4.Te6edf3searchedPropagationNodesTb4b4b4]Tb4b4b4;

Tff7b72switch Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3sortByTb4b4b4) Tb4b4b4{
Tff7b72case Ta5d6ff"name"Tff7b72:
Te6edf3nodesTb4b4b4.Te6edf3sortTb4b4b4(Tb4b4b4(Te6edf3aTb4b4b4, Te6edf3bTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3nameA Tff7b72= Tb4b4b4(Te6edf3aTb4b4b4.Te6edf3operator_display_name Tff7b72?? Ta5d6ff"Unknown Operator"Tb4b4b4)Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3nameB Tff7b72= Tb4b4b4(Te6edf3bTb4b4b4.Te6edf3operator_display_name Tff7b72?? Ta5d6ff"Unknown Operator"Tb4b4b4)Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3nameATb4b4b4.Te6edf3localeCompareTb4b4b4(Te6edf3nameBTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"name-desc"Tff7b72:
Te6edf3nodesTb4b4b4.Te6edf3sortTb4b4b4(Tb4b4b4(Te6edf3aTb4b4b4, Te6edf3bTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3nameA Tff7b72= Tb4b4b4(Te6edf3aTb4b4b4.Te6edf3operator_display_name Tff7b72?? Ta5d6ff"Unknown Operator"Tb4b4b4)Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3nameB Tff7b72= Tb4b4b4(Te6edf3bTb4b4b4.Te6edf3operator_display_name Tff7b72?? Ta5d6ff"Unknown Operator"Tb4b4b4)Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3nameBTb4b4b4.Te6edf3localeCompareTb4b4b4(Te6edf3nameATb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"recent"Tff7b72:
Te6edf3nodesTb4b4b4.Te6edf3sortTb4b4b4(Tb4b4b4(Te6edf3aTb4b4b4, Te6edf3bTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3timeA Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3aTb4b4b4.Te6edf3updated_atTb4b4b4)Tb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3timeB Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3bTb4b4b4.Te6edf3updated_atTb4b4b4)Tb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3timeB Tff7b72- Te6edf3timeATb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"oldest"Tff7b72:
Te6edf3nodesTb4b4b4.Te6edf3sortTb4b4b4(Tb4b4b4(Te6edf3aTb4b4b4, Te6edf3bTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3timeA Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3aTb4b4b4.Te6edf3updated_atTb4b4b4)Tb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3timeB Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3bTb4b4b4.Te6edf3updated_atTb4b4b4)Tb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3timeA Tff7b72- Te6edf3timeBTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"preferred"Tff7b72:
Tff7b72defaultTff7b72:
Te6edf3nodesTb4b4b4.Te6edf3sortTb4b4b4(Tb4b4b4(Te6edf3aTb4b4b4, Te6edf3bTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3aIsPreferred Tff7b72=
Tff7b72thisTb4b4b4.Te6edf3configTb4b4b4.Te6edf3lxmf_preferred_propagation_node_destination_hash Tff7b72=== Te6edf3aTb4b4b4.Te6edf3destination_hashTb4b4b4;
Tff7b72const Te6edf3bIsPreferred Tff7b72=
Tff7b72thisTb4b4b4.Te6edf3configTb4b4b4.Te6edf3lxmf_preferred_propagation_node_destination_hash Tff7b72=== Te6edf3bTb4b4b4.Te6edf3destination_hashTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3aIsPreferred Tff7b72&& Tff7b72!Te6edf3bIsPreferredTb4b4b4) Tff7b72return Tff7b72-T79c0ff1Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3aIsPreferred Tff7b72&& Te6edf3bIsPreferredTb4b4b4) Tff7b72return T79c0ff1Tb4b4b4;
Tff7b72const Te6edf3timeA Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3aTb4b4b4.Te6edf3updated_atTb4b4b4)Tb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3timeB Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3bTb4b4b4.Te6edf3updated_atTb4b4b4)Tb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3timeB Tff7b72- Te6edf3timeATb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72breakTb4b4b4;
Tb4b4b4}

Tff7b72return Te6edf3nodesTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3totalPagesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657MathTb4b4b4.Te6edf3ceilTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3sortedAndSearchedPropagationNodesTb4b4b4.Te6edf3length Tff7b72/ Tff7b72thisTb4b4b4.Te6edf3itemsPerPageTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3startIndexTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3currentPage Tff7b72- T79c0ff1Tb4b4b4) Tff7b72* Tff7b72thisTb4b4b4.Te6edf3itemsPerPageTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3endIndexTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3startIndex Tff7b72+ Tff7b72thisTb4b4b4.Te6edf3itemsPerPageTb4b4b4, Tff7b72thisTb4b4b4.Te6edf3sortedAndSearchedPropagationNodesTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3paginatedNodesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3sortedAndSearchedPropagationNodesTb4b4b4.Te6edf3sliceTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3startIndexTb4b4b4, Tff7b72thisTb4b4b4.Te6edf3endIndexTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3visiblePagesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3pages Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3maxVisible Tff7b72= T79c0ff5Tb4b4b4;
Tff7b72let Te6edf3start Tff7b72= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff1Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3currentPage Tff7b72- Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3maxVisible Tff7b72/ T79c0ff2Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3end Tff7b72= Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3totalPagesTb4b4b4, Te6edf3start Tff7b72+ Te6edf3maxVisible Tff7b72- T79c0ff1Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3end Tff7b72- Te6edf3start Tff7b72< Te6edf3maxVisible Tff7b72- T79c0ff1Tb4b4b4) Tb4b4b4{
Te6edf3start Tff7b72= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff1Tb4b4b4, Te6edf3end Tff7b72- Te6edf3maxVisible Tff7b72+ T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72for Tb4b4b4(Tff7b72let Te6edf3i Tff7b72= Te6edf3startTb4b4b4; Te6edf3i Tff7b72<= Te6edf3endTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Te6edf3pagesTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3iTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3pagesTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3watchTff7b72: Tb4b4b4{
Te6edf3searchTermTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3currentPage Tff7b72= T79c0ff1Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3sortByTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3currentPage Tff7b72= T79c0ff1Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3beforeUnmountTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// stop listening for websocket messages
Te6edf3WebSocketConnectionTb4b4b4.Te6edf3offTb4b4b4(Ta5d6ff"message"Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3onWebsocketMessageTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3mountedTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// listen for websocket messages
Te6edf3WebSocketConnectionTb4b4b4.Te6edf3onTb4b4b4(Ta5d6ff"message"Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3onWebsocketMessageTb4b4b4)Tb4b4b4;

Tff7b72thisTb4b4b4.Te6edf3getConfigTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3loadPropagationNodesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3methodsTff7b72: Tb4b4b4{
Tff7b72async Te6edf3onWebsocketMessageTb4b4b4(Te6edf3messageTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3json Tff7b72= Tffa657JSONTb4b4b4.Te6edf3parseTb4b4b4(Te6edf3messageTb4b4b4.Te6edf3dataTb4b4b4)Tb4b4b4;
Tff7b72switch Tb4b4b4(Te6edf3jsonTb4b4b4.Te6edf3typeTb4b4b4) Tb4b4b4{
Tff7b72case Ta5d6ff"config"Tff7b72: Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3config Tff7b72= Te6edf3jsonTb4b4b4.Te6edf3configTb4b4b4;
Tff7b72breakTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3getConfigTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/config"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3config Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3configTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
T8b949e// do nothing if failed to load config
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3updateConfigTb4b4b4(Te6edf3configTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3patchTb4b4b4(Ta5d6ff"/api/v1/config"Tb4b4b4, Te6edf3configTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3config Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3configTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"common.save_failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3loadPropagationNodesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff`Ta5d6ff/api/v1/lxmf/propagation-nodesTa5d6ff`Tb4b4b4, Tb4b4b4{
Te6edf3paramsTff7b72: Tb4b4b4{
Te6edf3limitTff7b72: T79c0ff500Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3propagationNodes Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3lxmf_propagation_nodesTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
T8b949e// do nothing if failed to load
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3usePropagationNodeTb4b4b4(Te6edf3destination_hashTb4b4b4) Tb4b4b4{
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3updateConfigTb4b4b4(Tb4b4b4{
Te6edf3lxmf_preferred_propagation_node_destination_hashTff7b72: Te6edf3destination_hashTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3stopUsingPropagationNodeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3updateConfigTb4b4b4(Tb4b4b4{
Te6edf3lxmf_preferred_propagation_node_destination_hashTff7b72: Tff7b72nullTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3formatTimeAgoTff7b72: Tff7b72function Tb4b4b4(Te6edf3datetimeStringTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3UtilsTb4b4b4.Te6edf3formatTimeAgoTb4b4b4(Te6edf3datetimeStringTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────